package com.ktgj.customer.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 旅游团
 */
public class TravelGroupDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 旅游团表主键 */
    private Long groupId;

    /** 供应商表主键 */
    @Excel(name = "供应商表主键")
    private Long supplierId;

    /** 合同表主键 */
    @Excel(name = "合同表主键")
    private Long contractId;

    /** 团产品名称 */
    @Excel(name = "团产品名称")
    private String groupName;

    /** 团类型 1国内 ，2国际 */
    @Excel(name = "团类型 1国内 ，2国际")
    private String countryType;

    /** 状态 0待上架 1已上架 2已下架 */
    @Excel(name = "状态 0待上架 1已上架 2已下架")
    private String groupStatus;

    /** 会员团费 */
    @Excel(name = "会员团费")
    private BigDecimal vipGroupFee;

    /** 非会员团费 */
    @Excel(name = "非会员团费")
    private BigDecimal groupFee;

    /** 随行团费用，竖线隔开：100|200|300 */
    @Excel(name = "随行团费用，竖线隔开：100|200|300")
    private String guestGroupFee;

    /** 会员团费优惠 */
    @Excel(name = "会员团费优惠")
    private BigDecimal vipDiscountUsed;

    /** 随行团费优惠，用竖线隔开：100|200|300 */
    @Excel(name = "随行团费优惠，用竖线隔开：100|200|300")
    private String guestDiscountUsed;

    /** 会员可用plus劵 */
    @Excel(name = "会员可用plus劵")
    private BigDecimal vipPlusUsed;

    /** 随行可用plus劵，用竖线隔开：100|200|300 */
    @Excel(name = "随行可用plus劵，用竖线隔开：100|200|300")
    private String guestPlusUsed;

    /** 会员旅游券使用金额 */
    @Excel(name = "会员旅游券使用金额")
    private BigDecimal vipTravelUsed;

    /** 随行旅游券使用金额 */
    @Excel(name = "随行旅游券使用金额")
    private String guestTravelUsed;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operateTime;

    /** 会员押金 */
    @Excel(name = "会员押金")
    private BigDecimal vipCashPledge;

    /** 随行押金 */
    @Excel(name = "随行押金")
    private BigDecimal guestCashPledge;

    /** 地接社名称 */
    @Excel(name = "地接社名称")
    private String localAgentName;

    /** 单房差 元/人 */
    @Excel(name = "单房差 元/人")
    private BigDecimal differentRoomFee;

    /** 投诉罚款 元/人 */
    @Excel(name = "投诉罚款 元/人")
    private BigDecimal complaintFee;

    /** 婴儿年龄起 */
    @Excel(name = "婴儿年龄起")
    private Long infAgeStart;

    /** 婴儿年龄止 */
    @Excel(name = "婴儿年龄止")
    private Long infAgeEnd;

    /** 婴儿携带数量上限 */
    @Excel(name = "婴儿携带数量上限")
    private Long infCount;

    /** 当前团产品已生成订单中婴儿数量上限 */
    @Excel(name = "当前团产品已生成订单中婴儿数量上限")
    private Long infOrderCount;

    /** 婴儿费用 */
    @Excel(name = "婴儿费用")
    private BigDecimal infFee;

    /** 儿童年龄起 */
    @Excel(name = "儿童年龄起")
    private Long chdAgeStart;

    /** 儿童年龄止 */
    @Excel(name = "儿童年龄止")
    private Long chdAgeEnd;

    /** 儿童携带数量上限 */
    @Excel(name = "儿童携带数量上限")
    private Long chdCount;

    /** 当前团产品已生成订单中儿童数量上限 */
    @Excel(name = "当前团产品已生成订单中儿童数量上限")
    private Long chdOrderCount;

    /** 儿童费用 */
    @Excel(name = "儿童费用")
    private BigDecimal chdFee;

    /** 成人年龄起 */
    @Excel(name = "成人年龄起")
    private Long aduAgeStart;

    /** 成人年龄止 */
    @Excel(name = "成人年龄止")
    private Long aduAgeEnd;

    /** 成人携带数量上限 */
    @Excel(name = "成人携带数量上限")
    private Long aduCount;

    /** 当前团产品已生成订单中成人数量上限 */
    @Excel(name = "当前团产品已生成订单中成人数量上限")
    private Long aduOrderCount;

    /** 成团规则 */
    @Excel(name = "成团规则")
    private String groupRows;

    /** 团产品图片 */
    @Excel(name = "团产品图片")
    private String groupBanner;

    /** 划线价 */
    @Excel(name = "划线价")
    private BigDecimal groupLinePrice;

    /** 自费景点介绍 */
    @Excel(name = "自费景点介绍")
    private String ownFeePlaceInfo;

    /** 机票退票规定 */
    @Excel(name = "机票退票规定")
    private String flightRefundRule;

    /** 费用包含项目 */
    @Excel(name = "费用包含项目")
    private String feeContain;

    /** 费用不包含项目 */
    @Excel(name = "费用不包含项目")
    private String feeNoContain;

    /** 旅游行程表 */
    @Excel(name = "旅游行程表")
    private String tourItinerary;

    /** 退团规则 */
    @Excel(name = "退团规则")
    private String groupRefundRule;

    /** 服务标准 */
    @Excel(name = "服务标准")
    private String serviceStandard;

    /** 旅行须知 */
    @Excel(name = "旅行须知")
    private String travelNotes;

    /** 购物景点 */
    @Excel(name = "购物景点")
    private String shopPlace;

    /** 产品特色 */
    @Excel(name = "产品特色")
    private String productFeature;

    /** 费用信息 */
    @Excel(name = "费用信息")
    private String costMessage;

    /** 预定须知 */
    @Excel(name = "预定须知")
    private String bookingNotes;

    /** 接待标准 */
    @Excel(name = "接待标准")
    private String receptionStandard;

    /** 酒店安排 */
    @Excel(name = "酒店安排")
    private String hotelArrangement;

    /** 温馨提示 */
    @Excel(name = "温馨提示")
    private String warmPrompt;

    public String getReceptionStandard() {
        return receptionStandard;
    }

    public void setReceptionStandard(String receptionStandard) {
        this.receptionStandard = receptionStandard;
    }

    public String getHotelArrangement() {
        return hotelArrangement;
    }

    public void setHotelArrangement(String hotelArrangement) {
        this.hotelArrangement = hotelArrangement;
    }

    public String getWarmPrompt() {
        return warmPrompt;
    }

    public void setWarmPrompt(String warmPrompt) {
        this.warmPrompt = warmPrompt;
    }

    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public Long getContractId() {
        return contractId;
    }

    public void setContractId(Long contractId) {
        this.contractId = contractId;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getCountryType() {
        return countryType;
    }

    public void setCountryType(String countryType) {
        this.countryType = countryType;
    }

    public String getGroupStatus() {
        return groupStatus;
    }

    public void setGroupStatus(String groupStatus) {
        this.groupStatus = groupStatus;
    }

    public BigDecimal getVipGroupFee() {
        return vipGroupFee;
    }

    public void setVipGroupFee(BigDecimal vipGroupFee) {
        this.vipGroupFee = vipGroupFee;
    }

    public BigDecimal getGroupFee() {
        return groupFee;
    }

    public void setGroupFee(BigDecimal groupFee) {
        this.groupFee = groupFee;
    }

    public String getGuestGroupFee() {
        return guestGroupFee;
    }

    public void setGuestGroupFee(String guestGroupFee) {
        this.guestGroupFee = guestGroupFee;
    }

    public BigDecimal getVipDiscountUsed() {
        return vipDiscountUsed;
    }

    public void setVipDiscountUsed(BigDecimal vipDiscountUsed) {
        this.vipDiscountUsed = vipDiscountUsed;
    }

    public String getGuestDiscountUsed() {
        return guestDiscountUsed;
    }

    public void setGuestDiscountUsed(String guestDiscountUsed) {
        this.guestDiscountUsed = guestDiscountUsed;
    }

    public BigDecimal getVipPlusUsed() {
        return vipPlusUsed;
    }

    public void setVipPlusUsed(BigDecimal vipPlusUsed) {
        this.vipPlusUsed = vipPlusUsed;
    }

    public String getGuestPlusUsed() {
        return guestPlusUsed;
    }

    public void setGuestPlusUsed(String guestPlusUsed) {
        this.guestPlusUsed = guestPlusUsed;
    }

    public BigDecimal getVipTravelUsed() {
        return vipTravelUsed;
    }

    public void setVipTravelUsed(BigDecimal vipTravelUsed) {
        this.vipTravelUsed = vipTravelUsed;
    }

    public String getGuestTravelUsed() {
        return guestTravelUsed;
    }

    public void setGuestTravelUsed(String guestTravelUsed) {
        this.guestTravelUsed = guestTravelUsed;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getOperateTime() {
        return operateTime;
    }

    public void setOperateTime(Date operateTime) {
        this.operateTime = operateTime;
    }

    public BigDecimal getVipCashPledge() {
        return vipCashPledge;
    }

    public void setVipCashPledge(BigDecimal vipCashPledge) {
        this.vipCashPledge = vipCashPledge;
    }

    public BigDecimal getGuestCashPledge() {
        return guestCashPledge;
    }

    public void setGuestCashPledge(BigDecimal guestCashPledge) {
        this.guestCashPledge = guestCashPledge;
    }

    public String getLocalAgentName() {
        return localAgentName;
    }

    public void setLocalAgentName(String localAgentName) {
        this.localAgentName = localAgentName;
    }

    public BigDecimal getDifferentRoomFee() {
        return differentRoomFee;
    }

    public void setDifferentRoomFee(BigDecimal differentRoomFee) {
        this.differentRoomFee = differentRoomFee;
    }

    public BigDecimal getComplaintFee() {
        return complaintFee;
    }

    public void setComplaintFee(BigDecimal complaintFee) {
        this.complaintFee = complaintFee;
    }

    public Long getInfAgeStart() {
        return infAgeStart;
    }

    public void setInfAgeStart(Long infAgeStart) {
        this.infAgeStart = infAgeStart;
    }

    public Long getInfAgeEnd() {
        return infAgeEnd;
    }

    public void setInfAgeEnd(Long infAgeEnd) {
        this.infAgeEnd = infAgeEnd;
    }

    public Long getInfCount() {
        return infCount;
    }

    public void setInfCount(Long infCount) {
        this.infCount = infCount;
    }

    public Long getInfOrderCount() {
        return infOrderCount;
    }

    public void setInfOrderCount(Long infOrderCount) {
        this.infOrderCount = infOrderCount;
    }

    public BigDecimal getInfFee() {
        return infFee;
    }

    public void setInfFee(BigDecimal infFee) {
        this.infFee = infFee;
    }

    public Long getChdAgeStart() {
        return chdAgeStart;
    }

    public void setChdAgeStart(Long chdAgeStart) {
        this.chdAgeStart = chdAgeStart;
    }

    public Long getChdAgeEnd() {
        return chdAgeEnd;
    }

    public void setChdAgeEnd(Long chdAgeEnd) {
        this.chdAgeEnd = chdAgeEnd;
    }

    public Long getChdCount() {
        return chdCount;
    }

    public void setChdCount(Long chdCount) {
        this.chdCount = chdCount;
    }

    public Long getChdOrderCount() {
        return chdOrderCount;
    }

    public void setChdOrderCount(Long chdOrderCount) {
        this.chdOrderCount = chdOrderCount;
    }

    public BigDecimal getChdFee() {
        return chdFee;
    }

    public void setChdFee(BigDecimal chdFee) {
        this.chdFee = chdFee;
    }

    public Long getAduAgeStart() {
        return aduAgeStart;
    }

    public void setAduAgeStart(Long aduAgeStart) {
        this.aduAgeStart = aduAgeStart;
    }

    public Long getAduAgeEnd() {
        return aduAgeEnd;
    }

    public void setAduAgeEnd(Long aduAgeEnd) {
        this.aduAgeEnd = aduAgeEnd;
    }

    public Long getAduCount() {
        return aduCount;
    }

    public void setAduCount(Long aduCount) {
        this.aduCount = aduCount;
    }

    public Long getAduOrderCount() {
        return aduOrderCount;
    }

    public void setAduOrderCount(Long aduOrderCount) {
        this.aduOrderCount = aduOrderCount;
    }

    public String getGroupRows() {
        return groupRows;
    }

    public void setGroupRows(String groupRows) {
        this.groupRows = groupRows;
    }

    public String getGroupBanner() {
        return groupBanner;
    }

    public void setGroupBanner(String groupBanner) {
        this.groupBanner = groupBanner;
    }

    public BigDecimal getGroupLinePrice() {
        return groupLinePrice;
    }

    public void setGroupLinePrice(BigDecimal groupLinePrice) {
        this.groupLinePrice = groupLinePrice;
    }

    public String getOwnFeePlaceInfo() {
        return ownFeePlaceInfo;
    }

    public void setOwnFeePlaceInfo(String ownFeePlaceInfo) {
        this.ownFeePlaceInfo = ownFeePlaceInfo;
    }

    public String getFlightRefundRule() {
        return flightRefundRule;
    }

    public void setFlightRefundRule(String flightRefundRule) {
        this.flightRefundRule = flightRefundRule;
    }

    public String getFeeContain() {
        return feeContain;
    }

    public void setFeeContain(String feeContain) {
        this.feeContain = feeContain;
    }

    public String getFeeNoContain() {
        return feeNoContain;
    }

    public void setFeeNoContain(String feeNoContain) {
        this.feeNoContain = feeNoContain;
    }

    public String getTourItinerary() {
        return tourItinerary;
    }

    public void setTourItinerary(String tourItinerary) {
        this.tourItinerary = tourItinerary;
    }

    public String getGroupRefundRule() {
        return groupRefundRule;
    }

    public void setGroupRefundRule(String groupRefundRule) {
        this.groupRefundRule = groupRefundRule;
    }

    public String getServiceStandard() {
        return serviceStandard;
    }

    public void setServiceStandard(String serviceStandard) {
        this.serviceStandard = serviceStandard;
    }

    public String getTravelNotes() {
        return travelNotes;
    }

    public void setTravelNotes(String travelNotes) {
        this.travelNotes = travelNotes;
    }

    public String getShopPlace() {
        return shopPlace;
    }

    public void setShopPlace(String shopPlace) {
        this.shopPlace = shopPlace;
    }

    public String getProductFeature() {
        return productFeature;
    }

    public void setProductFeature(String productFeature) {
        this.productFeature = productFeature;
    }

    public String getCostMessage() {
        return costMessage;
    }

    public void setCostMessage(String costMessage) {
        this.costMessage = costMessage;
    }

    public String getBookingNotes() {
        return bookingNotes;
    }

    public void setBookingNotes(String bookingNotes) {
        this.bookingNotes = bookingNotes;
    }

    @Override
    public String toString() {
        return "TravelGroupDto{" +
                "groupId=" + groupId +
                ", supplierId=" + supplierId +
                ", contractId=" + contractId +
                ", groupName='" + groupName + '\'' +
                ", countryType='" + countryType + '\'' +
                ", groupStatus='" + groupStatus + '\'' +
                ", vipGroupFee=" + vipGroupFee +
                ", guestGroupFee='" + guestGroupFee + '\'' +
                ", vipDiscountUsed=" + vipDiscountUsed +
                ", guestDiscountUsed='" + guestDiscountUsed + '\'' +
                ", vipPlusUsed=" + vipPlusUsed +
                ", guestPlusUsed='" + guestPlusUsed + '\'' +
                ", vipTravelUsed=" + vipTravelUsed +
                ", guestTravelUsed='" + guestTravelUsed + '\'' +
                ", createTime=" + createTime +
                ", operateTime=" + operateTime +
                ", vipCashPledge=" + vipCashPledge +
                ", guestCashPledge=" + guestCashPledge +
                ", localAgentName='" + localAgentName + '\'' +
                ", differentRoomFee=" + differentRoomFee +
                ", complaintFee=" + complaintFee +
                ", infAgeStart=" + infAgeStart +
                ", infAgeEnd=" + infAgeEnd +
                ", infCount=" + infCount +
                ", infOrderCount=" + infOrderCount +
                ", infFee=" + infFee +
                ", chdAgeStart=" + chdAgeStart +
                ", chdAgeEnd=" + chdAgeEnd +
                ", chdCount=" + chdCount +
                ", chdOrderCount=" + chdOrderCount +
                ", chdFee=" + chdFee +
                ", aduAgeStart=" + aduAgeStart +
                ", aduAgeEnd=" + aduAgeEnd +
                ", aduCount=" + aduCount +
                ", aduOrderCount=" + aduOrderCount +
                ", groupBanner='" + groupBanner + '\'' +
                ", groupLinePrice=" + groupLinePrice +
                ", ownFeePlaceInfo='" + ownFeePlaceInfo + '\'' +
                ", flightRefundRule='" + flightRefundRule + '\'' +
                ", feeContain='" + feeContain + '\'' +
                ", feeNoContain='" + feeNoContain + '\'' +
                ", tourItinerary='" + tourItinerary + '\'' +
                ", groupRefundRule='" + groupRefundRule + '\'' +
                ", serviceStandard='" + serviceStandard + '\'' +
                ", travelNotes='" + travelNotes + '\'' +
                ", shopPlace='" + shopPlace + '\'' +
                ", productFeature='" + productFeature + '\'' +
                ", costMessage='" + costMessage + '\'' +
                ", bookingNotes='" + bookingNotes + '\'' +
                '}';
    }
}
